<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
    const ajaxPromise=(param)=>{
        return new Promise((resolve,reject)=>{
            $.ajax({
                type: "get",
                url: param.url,
                dataType: "json",
                success: function (data) {
                    resolve(data)
                },
                error(error){
                    reject(error)
                }
            });
        })
    };
    async function asyncAjax(){
        // for () {
        //     try{
        //         let result1=await ajaxPromise('./data.json')
        //     }catch(e){
        //         console.log(e)
        //     }
        // }


        // 当出现错误的时候 使用try catch 在catch 后加入执行的代码  可以让程序保持运行
        try {
            var arr=[];
            let result1=await ajaxPromise('./data.json')
            console.log(result)
            arr=result;
        } catch (error) {
            console.log(error)
        }
        return arr;
    }
    asyncAjax().then(function(data){
        console.log(data) 
        // 接收的是上面的arr
    },function(error){
        console.log(eroor)
    }).catch(err=>{
        console.log(err)
    })
    //回调函数：嵌套，代码重复
    //promise  .then()  循环的话不好控制then() 
    //geneator .next()  手动调用 
    //async awite返回的都是promise



</script>
</html>